#ifndef TEXTURE_H
#define TEXTURE_H

#include "Config/Export.h"
#include "Core/ITexture.h"
#include "Maths/TVector2.h"
#include "GL/glew.h"

namespace blue {

class SHARED Texture : public ITexture
{
    public:

        Texture(GLuint texID, Vector2i size, int channels, unsigned char *data, const char *name);
        ~Texture();

        GLuint getGLID() const;
        const Vector2i &getSize() const;
        int getChannels() const;
        unsigned char *getData() const;

    private:

        GLuint _texID;
        Vector2i _size;
        int _channels;
        unsigned char *_data;

};

}

#endif

